iT邦幫忙

2023 iThome 鐵人賽

DAY 1
0
自我挑戰組

Spring Boot 三十天挑戰賽系列 第 1

Day 01 - The Flight of Spring Boot is Taking Off - Spring Boot 起飛之旅

  • 分享至 

  • xImage
  •  

在當代技術領域,Spring Boot 逐漸成為 Java 開發者的熱門選擇。從框架的核心理念、它的起源到演變,到 Spring 系列豐盛的功能及行業最佳做法,乃至於與其他技術的融合,皆有所探討。微服務浪潮中,Spring Boot 扮演的角色又是如何呢?
這系列文章將從初學者 (which is me XD) 的角度出發,解析 Spring Boot 的每一個細節,用 30 天的時間紀錄學習旅程,希望與讀者一同探索,共同進步。讓我們一起當個快樂爪哇人,一窺冰山下的 Spring Boot 樣貌吧 🙌🏻

  1. 前情提要:此系列適合有 Java 語言基礎 / OOP 概念的讀者
  2. 今日 BGM 來首符合標題的走到飛吧!
    Yes

為什麼要學習框架?

在現在的開發世界中,要將概念轉化為實際產品,速度和效率是兩大關鍵要素。
框架的出現是希望免去開發者閉門造車從頭打造一輛車子的情況,那不僅效率低也容易出錯。 可以把框架想像成一個工廠,這個工廠提供許多半成品的零件(組件化),讓我們專注在發想(商業邏輯),最終透過組裝高效地完成產品

Spring Framework

歷史背景:

在 Java 世界中,應用程式要寫多個 servlet classes,還要在 XML 檔中做相對應的配置,對於完成一個複雜 WEB 應用程式而言,開發程式的過程會變得繁雜且不利團隊開發。

在 2002 年時 Rod Johnson 寫了一本叫做《Expert One-on-One J2EE Design and Development》的書。書中他討論了很多 Java EE 的問題和挑戰,並提出了一些改進的想法。基於他在書中的想法,Rod 開發了一個框架,這個框架最後演變成為我們今天熟知的 Spring Framework。
Rod

BTW,這位存在於 Java 社群的著名大神同時具有 CS 學位及音樂博士的學歷 XD
這邊推薦他 2014 年精彩的演講 Things I Wish I'd Known

  • Spring 是一個輕量級、模組化的 Java 框架
  • Spring 的核心是控制反轉 (IoC, Inversion of Control) 和依賴注入 (DI, Dependency Injection)。除此之外,Spring 還提供了 Transaction 管理、Data Access 和 AOP 等功能,以上這些將在明日文章中接續介紹。

Spring Boot 的崛起

歷史背景

雖然 Spring Framework 提供了強大的功能,並具有很大的靈活性以適應各種應用及情境,但這意味著需要進行更多的配置作業。另外,在早期的 Spring 版本中,XML 是主要的配置方式,這些種種因素導致配置變得較為複雜。

為了解決Spring 版本設定工作過於繁重的問題,Spring 社群發布了 Spring Boot。旨在簡化架構流程、提供預設的配置、降低開發難度,使開發人員只需要專注在應用程式的開發,而無須過多關注XML 的配置。

Spring Boot 提供了大量的 Starters,這些已預設配置好的 starter 使開發者得以快速選擇並使用。另外,Spring Boot 內嵌有 Tomcat 的伺服器,這代表我們不需要外部的伺服器就能運行一個應用程式。

從 Servlet 到 Spring Framework 再到 Spring Boot 甚至近年來火紅的 Quarkus,Java 的 Web 開發框架目的都是為了使開發者能夠更有效、更安全、更簡單地開發應用程式。

好啦,以上就是簡單的 Spring Boot 初登場,
明天將接續說明 Spring 中的 core technologies, see ya tomorrow!


下一篇
Day 02 - Spring Framework Core Technologies - Spring 框架中的硬核(?)技術
系列文
Spring Boot 三十天挑戰賽30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言